home *** CD-ROM | disk | FTP | other *** search
- GNU C Library NEWS -- history of user-visible changes. 10 October 1994
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
- See the end for copying conditions.
-
- Please send GNU C library bug reports to bug-glibc@prep.ai.mit.edu.
-
- Version 1.09
-
- * For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'.
-
- * New header file <fstab.h> and new functions `getfsspec', `getfsent' and
- friends, for parsing /etc/fstab. This code comes from 4.4 BSD.
-
- * The new function `daemon' from 4.4 BSD is useful for server programs that
- want to put themselves in the background.
-
- * Joel Sherrill has contributed support for several standalone boards that
- run without an operating system.
-
- * `printf', `scanf' and friends now accept a `q' type modifier for long
- long int as well as `ll'. Formats using these might be `%qu' or `%lld'.
-
- * All of the code taken from BSD (notably most of the math and networking
- routines) has been updated from the BSD 4.4-Lite release.
-
- * The resolver code has been updated from the BIND-4.9.3-BETA9 release.
-
- * The new functions `getdomainname' and `setdomainname' fetch or change the
- YP/NIS domain name. These are system calls which exist on systems which
- have YP (aka NIS).
-
- * The time zone data files have been updated for the latest international
- conventions.
-
- * The SunRPC programs `portmap' and `rpcinfo' are now installed in
- $(sbindir) (usually /usr/local/sbin) instead of $(bindir).
-
- Version 1.08
-
- * The C library now includes support for Sun RPC, from Sun's free
- RPCSRC-4.0 distribution. The `portmap', `rpcinfo', and `rpcgen' programs
- are included. (There is still no support for YP.)
-
- * Tom Quinn has contributed a port of the C library to SGI machines running
- Irix 4 (mips-sgi-irix4).
-
- * The new `lockf' function is a simplified interface to the locking
- facilities of `fcntl', included for compatibility.
-
- * New time functions `timegm', `timelocal', and `dysize' for compatibility.
-
- * New header file <sys/timeb.h> and new function `ftime' for compatibility.
-
- * New header files <poll.h> and <sys/poll.h> and new function `poll' for
- compatibility.
-
- * The error message printed by `assert' for a failed assertion now includes
- the name of the program (if using GNU ld) and the name of the calling
- function (with versions of GCC that support this).
-
- * The `psignal' function is now declared in <signal.h>, not <stdio.h>.
-
- * The library now includes the <sys/mman.h> header file and memory
- management functions `mmap', `munmap', `mprotect', `msync', and
- `madvise', on systems that support those facilities.
-
- * The interface for `mcheck' has changed slightly: the function called to
- abort the program when an allocation inconsistency is detected now takes
- an argument that indicates the type of failure. The new function
- `mprobe' lets you request a consistency check for a particular block at
- any time (checks are normally done only when you call `free' or `realloc'
- on a block).
-
- * It is now possible to easily cross-compile the C library, building on one
- system a library to run on another machine and/or operating system. All
- you need to do is set the variable `HOST_CC' in `configparms' to the
- native compiler for programs to run on the machine you are building on (a
- few generator programs are used on Unix systems); set `CC' to the
- cross-compiler.
-
- * The new function `fexecve' (only implemented on the GNU system) executes
- a program file given a file descriptor already open on the file.
-
- Version 1.07
-
- * Brendan Kehoe has contributed most of a port to the DEC Alpha
- running OSF/1 (alpha-dec-osf1). He says it is 75% complete.
-
- * You can set the variable `libprefix' in `configparms' to specify a prefix
- to be prepended to installed library files; this makes it easy to install
- the GNU C library to be linked as `-lgnuc' or whatever.
-
- * The new `stpncpy' is a cross between `stpcpy' and `strncpy': It
- copies a limited number of characters from a string, and returns the
- address of the last character written.
-
- * You no longer need to check for whether the installed `stddef.h' is
- compatible with the GNU C library. configure now checks for you.
-
- * You can now define a per-stream `fileno' function to convert the
- stream's cookie into an integral file descriptor.
-
- * ``malloc (0)'' no longer returns a null pointer. Instead, it
- allocates zero bytes of storage, and returns a unique pointer which
- you can pass to `realloc' or `free'. The behavior is undefined if
- you dereference this pointer.
-
- * The C library now runs on Sony NEWS m68k machines running either
- NewsOS 3 or NewsOS 4.
-
- * The new `syscall' function is a system-dependent primitive function
- for invoking system calls. It has the canonical behavior on Unix
- systems, including unreliable return values for some calls (such as
- `pipe', `fork' and `getppid').
-
- * The error code `EWOULDBLOCK' is now obsolete; it is always defined
- to `EAGAIN', which is the preferred name. On systems whose kernels
- use two distinct codes, the C library now translates EWOULDBLOCK to
- EAGAIN in every system call function.
-
- Version 1.06
-
- * The GNU C Library Reference Manual is now distributed with the library.
- `make dvi' will produce a DVI file of the printed manual.
- `make info' will produce Info files that you can read on line using C-h i
- in Emacs or the `info' program.
- Please send comments on the manual to bug-glibc-manual@prep.ai.mit.edu.
-
- * The library now supports SVR4 on i386s (i386-unknown-sysv4).
-
- * Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2.
-
- * Jason Merrill has contributed a port to the Sequent Symmetry running
- Dynix version 3 (i386-sequent-dynix).
-
- * The library has been ported to i386s running SCO 3.2.4 (also known as SCO
- ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2).
-
- * New function `memory_warnings' lets you arrange to get warnings when
- malloc is running out of memory to allocate, like Emacs gives you.
-
- * The C library now contains the relocating allocator used in Emacs 19 for
- its editing buffers. This allocator (ralloc) minimizes allocation
- overhead and fragmentation by moving allocated regions around whenever it
- needs to. You always refer to a ralloc'd region with a "handle" (a
- pointer to a pointer--an object of type `void **').
-
- * There is a new `printf' format: `%m' gives you the string corresponding
- to the error code in `errno'.
-
- * In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s'
- or `%[' conversion, but instead of filling in a fixed-sized buffer you
- pass, the `a' modifier says to fill in a `char **' you pass with a
- malloc'd string.
-
- * The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and
- `FNM_CASEFOLD'. `FNM_LEADING_DIR' lets a pattern like `foo*' match a
- name like `foo/bar'. `FNM_CASEFOLD' says to ignore case in matching.
-
- * `mkstemp' is a traditional Unix function to atomically create and open a
- uniquely-named temporary file.
-
- Version 1.05
-
- * The standard location for the file that says what the local timezone is
- has changed again. It is now `/usr/local/etc/localtime' (or more
- precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'.
-
- * The distribution no longer contains any files with names longer than 14
- characters.
-
- * `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE.
- These are set by the new `trusted' and `console' keywords in `/etc/ttys'.
-
- * New functions `ttyslot' and `syslog' from 4.4 BSD.
-
- Version 1.04
-
- * The configuration process has changed quite a bit. The `configure'
- script is now used just like the configuration scripts for other GNU
- packages. The `sysdeps' directory hierarchy is much rearranged.
- The file `INSTALL' explains the new scheme in detail.
-
- * The header files no longer need to be processed into ANSI C and
- traditional C versions. There is just one set of files to install, and
- it will work with ANSI or old C compilers (including `gcc -traditional').
-
- * Brendan Kehoe and Ian Lance Taylor have ported the library to the
- MIPS DECStation running Ultrix 4.
-
- * The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries.
- Tom Quinn contributed the initial code. The GNU C library can NOT yet be
- made itself into a shared library.
-
- * Yet further improved support for the i386, running 4.3 BSD-like systems
- (such as Mach 3 with the Unix single-server), or System V.
-
- * New function `strncasecmp' to do case-insensitive string comparison
- with limited length.
-
- * New function `strsep' is a reentrant alternative to `strtok'.
-
- * New functions `scandir' and `alphasort' for searching directories.
-
- * New function `setenv' is a better interface to `putenv'.
-
- * Ian Lance Taylor has contributed an implementation of the SVID `ftw'
- function for traversing a directory tree.
-
- * The GNU obstack package is now also part of the C library.
- The new function `open_obstack_stream' creates a stdio stream that
- writes onto an obstack; `obstack_printf' and `obstack_vprintf' do
- formatted output directly to an obstack.
-
- * Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only),
- cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid.
-
- * `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'.
-
- * The new functions `strfry' and `memfrob' do mysterious and wonderful
- things to your strings.
-
- * There are some new test programs: test-fseek, testmb, and testrand.
-
- * Some work has been done to begin porting the library to 4.4 BSD and Linux.
- These ports are not finished, but are a good starting place for really
- supporting those systems.
-
- * `/etc/localtime' is now the standard location for the file that says what
- the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'.
- This follows the general principle that `/etc' is the place for all local
- configuration files.
-
- * The C library header files now use `extern "C"' when used by the C++
- compiler, so the C library should now work with C++ code.
-
- * The header file <bstring.h> is gone. <string.h> now declares bcopy,
- bcmp, bzero, and ffs.
-
- * Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting
- function which uses the `merge sort' algorithm, and is said to be
- significantly faster than the old GNU `qsort' function. Merge sort is
- now the standard `qsort' function. The new algorithm can require a lot
- of temporary storage; so, the old sorting function is called when the
- required storage is not available.
-
- * The C library now includes Michael Glad's Ultra Fast Crypt, which
- provides the Unix `crypt' function, plus some other entry points.
- Because of the United States export restriction on DES implementations,
- we are distributing this code separately from the rest of the C library.
- There is an extra distribution tar file just for crypt; it is called
- `glibc-VERSION-crypt.tar.Z', e.g. `glibc-1.04-crypt.tar.Z'. You can just
- unpack the crypt distribution along with the rest of the C library and
- build; you can also build the library without getting crypt. Users
- outside the USA can get the crypt distribution via anonymous FTP from
- ftp.uni-c.dk [129.142.6.74], or another archive site outside the U.S.
-
- * The code and header files taken from 4.4 BSD have been updated with the
- latest files released from Berkeley.
-
- ----------------------------------------------------------------------
- Copyright information:
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to anyone to make or distribute verbatim copies
- of this document as received, in any medium, provided that the
- copyright notice and this permission notice are preserved,
- thus giving the recipient permission to redistribute in turn.
-
- Permission is granted to distribute modified versions
- of this document, or of portions of it,
- under the above conditions, provided also that they
- carry prominent notices stating who last changed them.
-
- Local variables:
- version-control: never
- end:
-